home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
- # Wrapper script for use of the tsocks(8) transparent socksification library
- #
- # There are three forms of usage for this script:
- #
- # /usr/bin/tsocks program [program arguments...]
- #
- # This form sets the users LD_PRELOAD environment variable so that tsocks(8)
- # will be loaded to socksify the application then executes the specified
- # program (with the provided arguments). The following simple example might
- # be used to telnet to www.foo.org via a tsocks.conf(5) configured socks server:
- #
- # /usr/bin/tsocks telnet www.foo.org
- #
- # The second form allows for tsocks(8) to be switched on and off for a
- # session (that is, it adds and removes tsocks from the LD_PRELOAD environment
- # variable). This form must be _sourced_ into the user's existing session
- # (and will only work with bourne shell users):
- #
- # . /usr/bin/tsocks on
- # telnet www.foo.org
- # . /usr/bin/tsocks off
- #
- # Or
- #
- # source /usr/bin/tsocks on
- # telnet www.foo.org
- # source /usr/bin/tsocks off
- #
- # The third form creates a new shell with LD_PRELOAD set and is achieved
- # simply by running the script with no arguments
- #
- # /usr/bin/tsocks
- #
- # When finished the user can simply terminate the shell with 'exit'
- #
- # This script is originally from the debian tsocks package by
- # Tamas Szerb <toma@rulez.org>
-
- #if [ $# = 0 ] ; then
- # echo "$0: insufficient arguments"
- # exit
- #fi
-
- case "$1" in
- -on)
- if [ -z "$LD_PRELOAD" ]
- then
- export LD_PRELOAD="/usr/lib/libtsocks.so"
- else
- echo $LD_PRELOAD | grep -q "/usr/lib/libtsocks\.so" || \
- export LD_PRELOAD="/usr/lib/libtsocks.so $LD_PRELOAD"
- fi
- ;;
- -off)
- export LD_PRELOAD=`echo -n $LD_PRELOAD | sed 's/\/usr\/lib\/libtsocks.so \?//'`
- if [ -z "$LD_PRELOAD" ]
- then
- unset LD_PRELOAD
- fi
- ;;
- -show|-sh)
- echo "LD_PRELOAD=\"$LD_PRELOAD\""
- ;;
- -h|-?)
- echo "$0: Please see tsocks(1) or read comment at top of $0"
- ;;
- *)
- if [ -z "$LD_PRELOAD" ]
- then
- export LD_PRELOAD="/usr/lib/libtsocks.so"
- else
- echo $LD_PRELOAD | grep -q "/usr/lib/libtsocks\.so" || \
- export LD_PRELOAD="/usr/lib/libtsocks.so $LD_PRELOAD"
- fi
-
- if [ $# = 0 ]
- then
- ${SHELL:-/bin/sh}
- fi
-
- if [ $# -gt 0 ]
- then
- exec "$@"
- fi
- ;;
- esac
-
- #EOF
-